package com.guoheng.hazard.sys.mapper.hazard;

import com.guoheng.hazard.sys.model.dto.hazard.HomePageHazardInfoStatisticsDTO;
import com.guoheng.hazard.sys.model.dto.hazard.SafeOneMapDataNumDTO;
import com.guoheng.hazard.sys.model.entity.hazard.MajorHazardInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface MajorHazardInfoMapper {
    int deleteByPrimaryKey(Long id);

    int insert(MajorHazardInfo record);

    int insertSelective(MajorHazardInfo record);

    MajorHazardInfo selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(MajorHazardInfo record);

    int updateByPrimaryKey(MajorHazardInfo record);

    /**
     * 方法功能描述: 查询重大危险信息列表
     *
     * @param entprId 企业id
     * @param majorHazardNo 重大危险编号
     * @return Result
     */
    List<MajorHazardInfo> getHazardInfo(@Param("majorHazardNo") String majorHazardNo,@Param("entprId") Long entprId);

    /**
     * 方法功能描述: 得到最近新增的id
     *
     * @return int
     */
    Long getLastId();

    /**
     * 方法功能描述: 得到所有重大危险源等级
     *
     * @return  List<MajorHazardInfo>
     */
    List<Integer> getAllMajorHazardInfo();

    /**
     * 方法功能描述: 得到所有重大危险源个数，按企业分类
     *
     * @return  List<MajorHazardInfo>
     */
    List<SafeOneMapDataNumDTO> getMajorHazardInfoNum();

    /**
     * 方法功能描述: 得到所有重大危险源气体级别
     *
     * @return List<Integer>
     */
    List<Integer> getMajorGas();

    /**
     * 方法功能描述: 首页统计重大危险源
     *
     * @return List<Integer>
     */
    List<HomePageHazardInfoStatisticsDTO>  getHomePageHazardStatistics();

    /**
     * 方法功能描述: 该等级的企业名称
     *
     * @return List<Integer>
     */
    List<String> getHazardEntprName(Integer majorHazardLevel);

    /**
     * 方法功能描述: 该企业该等级的重大危险源名称
     *
     * @return List<Integer>
     */
    List<String>getMajorHzardName(@Param("entprName") String entprName,@Param("majorHazardLevel") Integer majorHazardLevel);
}